#pragma once
#include <Windows.h>

#include <memory>
#include <vector>

#include "Page.h"

using std::shared_ptr;
using std::unique_ptr;
using std::vector;

class CSetting
{
public:
	CSetting(const wchar_t* settingFile) throw(...);
	~CSetting(void);

	static shared_ptr<CSetting> Current() throw(...);
	const vector<unique_ptr<CPage>>* GetPages() const throw();

private:
	static shared_ptr<CSetting> _instance;
	vector<unique_ptr<CPage>> _vp;
	ULONG_PTR _token;


	void InitSettingFromFile(const wchar_t* settingFile) throw(...);
};

